package cn.gorit.content.service;

import cn.gorit.common.lang.Result;
import cn.gorit.dto.content.BlogDto;
import cn.gorit.dto.content.BlogReadDto;
import cn.gorit.entity.content.Blog;
import cn.gorit.utils.Page;

/**
 * @version v1.0
 * @Classname BlogService
 * @Description TODO
 * @Author CodingGorit
 * @Created on 2021/3/30
 * @IDLE IntelliJ IDEA
 **/
public interface BlogService {

    // 添加内容
    public Result<Object> save(Blog dto);

    // 查看内容
    public Result<Blog> getBlogById(String blogId);

    // 前台阅读博客
    public Result<BlogReadDto> readBlog(String blogId);

    // 修改内容
    public Result<Object> updateBlogByDto(Blog dto);

    // 内容置顶 （管理员才有权限操作，普通人员没办法操作）
    public Result<Object> updateBlogTopById(Integer status,String blogId);

    // 开启评论（用户自己开启） 0 默认不开启，1 表示开启
    public Result<Object> updateCommentAble(Integer enable,String blogId);

    Result<Object> updateBlogCollection(BlogDto dto);

    // 分页获取内容
    public Result<Page<BlogDto>> getBlogListByPage(Page<BlogDto> blog);

    // 删除博客（逻辑删除）
    public Result<Object> deleteBlogByBlogId(String blogid);
}
